package com.lv.LvTourismModel.bean;
import javax.persistence.*;

import com.lv.LvAttachmentComboOfTourismModel.bean.LvAttachmentComboOfTourismModel;
import com.lv.LvPriceComboOfTourismModel.bean.LvPriceComboOfTourismModel;
import com.lv.LvTourismForSale.bean.LvTourismForSale;
import com.lv.LvTourismOrder.bean.LvTourismOrder;
import org.hibernate.annotations.GenericGenerator;
import com.aqgj.util.BaseEntity;

import java.util.List;

@Entity
@Table(name = "lv_tourism_model")
public class LvTourismModel implements BaseEntity{

    private String id;//主键

    private String title;//标题

    private String startSiteName;//起点名称

    private String startSiteAddress;//起点地址

    private String terminalSiteName;//终点名称

    private String terminalSiteAddress;//终点地址

    private Integer adultSeatNumber;//成人位

    private Integer childSeatNumber;//儿童位

    private Integer schedulingMode;//排班模式：0.自动排班，1.定时排班

    private Integer schedulingRule;//续班规则：0.按天，1.按周，2.按月

    private Integer schedulingRuleDay;//按天续班：0.每天，1.隔一天，2.隔两天，3.隔三天，4.隔四天，5.隔五天，6.隔六天，7.隔七天

    private String schedulingRuleDaysOfWeek;//按周续班：0.星期日，1.星期一，2.星期二，3.星期三，4.星期四，5.星期五，6.星期六

    private String schedulingRuleDaysOfMonth;//按月续班：1.每月一号，2.每月2号，。。。。‚

    private String schedulingModeSelectDates;//定时排班选择的日期：如2018-03-28

    private Integer preSaleDays;//预售天数

    private java.util.Date applicationStartDate;//开始日期

    private Integer allowIncreaseGuestRoom;//是否允许加房：0.否1.是

    private java.math.BigDecimal guestRoomPrice;//加房单价

    private String reasonOfAllowIncreaseGuestRoom;//加房理由

    private java.util.Date addTime;//添加时间

    private java.util.Date modifyTime;//修改时间

    private String fkAddUserId;//添加人id

    private String fkAddUserName;//添加人名称

    private String fkModifyUserId;//修改人id

    private Integer status;//状态：0.未审核1.审核通过2.审核未通过3.发布4.停售

    private String examineComment;//审核说明

    private java.util.Date beginValidateTime;//有效期开始时间

    private java.util.Date endValidateTime;//有效期截止时间

    private java.util.Date autoArrangeEndDate;//自动排班截止时间

    private String fkTransportId;//公司id

    private String tourismName;//景点名称

    private List<LvTourismForSale> lvTourismForSales;

    private List<LvPriceComboOfTourismModel> lvPriceComboOfTourismModels;

    private List<LvAttachmentComboOfTourismModel> lvAttachmentComboOfTourismModels;

    private List<LvTourismOrder> lvTourismOrders;

    public void setId(String value){
        this.id = value;
    }
    public void setTitle(String value){
        this.title = value;
    }
    public void setStartSiteName(String value){
        this.startSiteName = value;
    }
    public void setStartSiteAddress(String value){
        this.startSiteAddress = value;
    }
    public void setTerminalSiteName(String value){
        this.terminalSiteName = value;
    }
    public void setTerminalSiteAddress(String value){
        this.terminalSiteAddress = value;
    }
    public void setAdultSeatNumber(Integer value){
        this.adultSeatNumber = value;
    }
    public void setChildSeatNumber(Integer value){
        this.childSeatNumber = value;
    }
    public void setSchedulingMode(Integer value){
        this.schedulingMode = value;
    }
    public void setSchedulingRule(Integer value){
        this.schedulingRule = value;
    }
    public void setSchedulingRuleDay(Integer value){
        this.schedulingRuleDay = value;
    }
    public void setSchedulingRuleDaysOfWeek(String value){
        this.schedulingRuleDaysOfWeek = value;
    }
    public void setSchedulingRuleDaysOfMonth(String value){
        this.schedulingRuleDaysOfMonth = value;
    }
    public void setSchedulingModeSelectDates(String value){
        this.schedulingModeSelectDates = value;
    }
    public void setPreSaleDays(Integer value){
        this.preSaleDays = value;
    }
    public void setApplicationStartDate(java.util.Date value){
        this.applicationStartDate = value;
    }
    public void setAllowIncreaseGuestRoom(Integer value){
        this.allowIncreaseGuestRoom = value;
    }
    public void setGuestRoomPrice(java.math.BigDecimal value){
        this.guestRoomPrice = value;
    }
    public void setReasonOfAllowIncreaseGuestRoom(String value){
        this.reasonOfAllowIncreaseGuestRoom = value;
    }
    public void setAddTime(java.util.Date value){
        this.addTime = value;
    }
    public void setModifyTime(java.util.Date value){
        this.modifyTime = value;
    }
    public void setFkAddUserId(String value){
        this.fkAddUserId = value;
    }
    public void setFkModifyUserId(String value){
        this.fkModifyUserId = value;
    }
    public void setFkAddUserName(String value){
        this.fkAddUserName = value;
    }
    public void setStatus(Integer value){
        this.status = value;
    }
    public void setExamineComment(String value){
        this.examineComment = value;
    }
    public void setBeginValidateTime(java.util.Date value){
        this.beginValidateTime = value;
    }
    public void setEndValidateTime(java.util.Date value){
        this.endValidateTime = value;
    }
    public void setAutoArrangeEndDate(java.util.Date value){
        this.autoArrangeEndDate = value;
    }
    public void setFkTransportId(String value){
        this.fkTransportId = value;
    }
    public void setTourismName(String tourismName) {
        this.tourismName = tourismName;
    }

    public void setLvTourismForSales(List<LvTourismForSale> lvTourismForSales) {
        this.lvTourismForSales = lvTourismForSales;
    }

    public void setLvPriceComboOfTourismModels(List<LvPriceComboOfTourismModel> lvPriceComboOfTourismModels) {
        this.lvPriceComboOfTourismModels = lvPriceComboOfTourismModels;
    }

    public void setLvAttachmentComboOfTourismModels(List<LvAttachmentComboOfTourismModel> lvAttachmentComboOfTourismModels) {
        this.lvAttachmentComboOfTourismModels = lvAttachmentComboOfTourismModels;
    }

    public void setLvTourismOrders(List<LvTourismOrder> lvTourismOrders) {
        this.lvTourismOrders = lvTourismOrders;
    }

    @Id
    @GeneratedValue(generator = "system-uuid")
    @GenericGenerator(name = "system-uuid", strategy = "uuid")
    @Column(name ="id",unique=true,nullable=false,insertable=true,updatable=true,length=32)
    public String getId(){
        return this.id;
    }
    @Column(name ="title",unique=false,nullable=true,insertable=true,updatable=true,length=512)
    public String getTitle(){
        return this.title;
    }
    @Column(name ="start_site_name",unique=false,nullable=true,insertable=true,updatable=true,length=32)
    public String getStartSiteName(){
        return this.startSiteName;
    }
    @Column(name ="start_site_address",unique=false,nullable=true,insertable=true,updatable=true,length=32)
    public String getStartSiteAddress(){
        return this.startSiteAddress;
    }
    @Column(name ="terminal_site_name",unique=false,nullable=true,insertable=true,updatable=true,length=32)
    public String getTerminalSiteName(){
        return this.terminalSiteName;
    }
    @Column(name ="terminal_site_address",unique=false,nullable=true,insertable=true,updatable=true,length=32)
    public String getTerminalSiteAddress(){
        return this.terminalSiteAddress;
    }
    @Column(name ="adult_seat_number",unique=false,nullable=true,insertable=true,updatable=true,length=10)
    public Integer getAdultSeatNumber(){
        return this.adultSeatNumber;
    }
    @Column(name ="child_seat_number",unique=false,nullable=true,insertable=true,updatable=true,length=10)
    public Integer getChildSeatNumber(){
        return this.childSeatNumber;
    }
    @Column(name ="scheduling_mode",unique=false,nullable=true,insertable=true,updatable=true,length=10)
    public Integer getSchedulingMode(){
        return this.schedulingMode;
    }
    @Column(name ="scheduling_rule",unique=false,nullable=true,insertable=true,updatable=true,length=10)
    public Integer getSchedulingRule(){
        return this.schedulingRule;
    }
    @Column(name ="scheduling_rule_day",unique=false,nullable=true,insertable=true,updatable=true,length=10)
    public Integer getSchedulingRuleDay(){
        return this.schedulingRuleDay;
    }
    @Column(name ="scheduling_rule_days_of_week",unique=false,nullable=true,insertable=true,updatable=true,length=64)
    public String getSchedulingRuleDaysOfWeek(){
        return this.schedulingRuleDaysOfWeek;
    }
    @Column(name ="scheduling_rule_days_of_month",unique=false,nullable=true,insertable=true,updatable=true,length=256)
    public String getSchedulingRuleDaysOfMonth(){
        return this.schedulingRuleDaysOfMonth;
    }
    @Column(name ="scheduling_mode_select_dates",unique=false,nullable=true,insertable=true,updatable=true,length=512)
    public String getSchedulingModeSelectDates(){
        return this.schedulingModeSelectDates;
    }
    @Column(name ="pre_sale_days",unique=false,nullable=true,insertable=true,updatable=true,length=10)
    public Integer getPreSaleDays(){
        return this.preSaleDays;
    }
    @Column(name ="application_start_date",unique=false,nullable=true,insertable=true,updatable=true,length=0)
    public java.util.Date getApplicationStartDate(){
        return this.applicationStartDate;
    }
    @Column(name ="allow_increase_guest_room",unique=false,nullable=true,insertable=true,updatable=true,length=10)
    public Integer getAllowIncreaseGuestRoom(){
        return this.allowIncreaseGuestRoom;
    }
    @Column(name ="guest_room_price",unique=false,nullable=true,insertable=true,updatable=true,length=10)
    public java.math.BigDecimal getGuestRoomPrice(){
        return this.guestRoomPrice;
    }
    @Column(name ="reason_of_allow_increase_guest_room",unique=false,nullable=true,insertable=true,updatable=true,length=512)
    public String getReasonOfAllowIncreaseGuestRoom(){
        return this.reasonOfAllowIncreaseGuestRoom;
    }
    @Column(name ="add_time",unique=false,nullable=true,insertable=true,updatable=true,length=0)
    public java.util.Date getAddTime(){
        return this.addTime;
    }
    @Column(name ="modify_time",unique=false,nullable=true,insertable=true,updatable=true,length=0)
    public java.util.Date getModifyTime(){
        return this.modifyTime;
    }
    @Column(name ="fk_add_user_id",unique=false,nullable=true,insertable=true,updatable=true,length=32)
    public String getFkAddUserId(){
        return this.fkAddUserId;
    }
    @Column(name ="fk_add_user_name",unique=false,nullable=true,insertable=true,updatable=true,length=32)
    public String getFkAddUserName(){
        return this.fkAddUserName;
    }
    @Column(name ="fk_modify_user_id",unique=false,nullable=true,insertable=true,updatable=true,length=32)
    public String getFkModifyUserId(){
        return this.fkModifyUserId;
    }
    @Column(name ="status",unique=false,nullable=true,insertable=true,updatable=true,length=10)
    public Integer getStatus(){
        return this.status;
    }
    @Column(name ="examine_comment",unique=false,nullable=true,insertable=true,updatable=true,length=512)
    public String getExamineComment(){
        return this.examineComment;
    }
    @Column(name ="begin_validate_time",unique=false,nullable=true,insertable=true,updatable=true,length=0)
    public java.util.Date getBeginValidateTime(){
        return this.beginValidateTime;
    }
    @Column(name ="end_validate_time",unique=false,nullable=true,insertable=true,updatable=true,length=0)
    public java.util.Date getEndValidateTime(){
        return this.endValidateTime;
    }
    @Column(name ="auto_arrange_end_date",unique=false,nullable=true,insertable=true,updatable=true,length=0)
    public java.util.Date getAutoArrangeEndDate(){
        return this.autoArrangeEndDate;
    }
    @Column(name ="fk_transport_id",unique=false,nullable=true,insertable=true,updatable=true,length=32)
    public String getFkTransportId(){
        return this.fkTransportId;
    }
    @Column(name ="tourism_name",unique=false,nullable=true,insertable=true,updatable=true,length=64)
    public String getTourismName() {
        return tourismName;
    }
    @Transient
    public List<LvTourismForSale> getLvTourismForSales() {
        return lvTourismForSales;
    }
    @Transient
    public List<LvPriceComboOfTourismModel> getLvPriceComboOfTourismModels() {
        return lvPriceComboOfTourismModels;
    }
    @Transient
    public List<LvAttachmentComboOfTourismModel> getLvAttachmentComboOfTourismModels() {
        return lvAttachmentComboOfTourismModels;
    }
    @Transient
    public List<LvTourismOrder> getLvTourismOrders() {
        return lvTourismOrders;
    }
}
